package controller;

import aplication.Rotulador;
import data.RepositorioDeQuestoes;
import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;
import java.util.logging.Level;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.control.TextField;
import javafx.scene.text.Text;
import model.Usuario;

/*
 * Classe Controller para a tela de captura de nome
 */
public class NameController implements Initializable {

    @FXML
    private Text message;
    @FXML
    private TextField textName;
    
    @Override
    public void initialize(URL url, ResourceBundle rb) {
    }    
    
    /*
     * Ação do botao confirmar
     * é necessario um nome (nick) maior que 5 caracteres
     */
    @FXML
    private void confirmarNome(ActionEvent event){
        String name = textName.getText().trim();
        boolean valid = true;
        if(name.length() < 5){
            message.setText("Nome inválido, mínimo 5 caracteres! ");
            valid = false;
            Rotulador.getLOGGER().logp(Level.INFO, getClass().getSimpleName(), "confirmarNome", "Digitou nome inválido!");
        }
        if(valid){
            RepositorioDeQuestoes.getInstance().getAvaliacao().setUsuario(new Usuario(name));
            Parent root;
            try {
                root = FXMLLoader.load(getClass().getResource("/view/Classicacao.fxml"));
                Rotulador.getInstace().setStage(root);
            } catch (IOException ex) {
                Rotulador.getLOGGER().logp(Level.SEVERE, getClass().getSimpleName(), "confirmarNome", "Não foi possivel carregar a tela de classificação!");
            }            
        }
    }
    
    /*
     * Metodo para sair.. apenas volta para a view principal...
     */
    @FXML
    public void sair(ActionEvent event) throws IOException{
        Parent root = FXMLLoader.load(getClass().getResource("/view/Principal.fxml"));
        Rotulador.getInstace().setStage(root);
    }
}
